import api from '../../../api/index';
import Toast from '@vant/weapp/toast/toast';
Page({
	/**
	 * 页面的初始数据
	 */
	data: {
		active: 0,
		kindlist: [],
		value: '',
		show: false,
		toast: null,
		goodlist: [],
		goodLeftList: [],
		goodLRightList: [],
		scrollH: 0,
		imgWidth: 0,
		loadingCount: 0,
		array: [],
		col1: [],
		col2: [],
		pageNum: 0,
		pageSize: 10,
		noMor: false,
		noData: false,
	},

	/**
	 * 生命周期函数--监听页面加载
	 */
	onLoad(options) {
		const toast = Toast.loading({
			// duration: 0, // 持续展示 toast
			forbidClick: true,
			message: '正在加载...',
			zIndex: 100000,
			position: 'top',
			selector: '#custom-selector'
		});
		this.setData({
			toast: toast
		});
		this.getBannerData();
		this.getlistkind(); //商品分类	
	},
	// loading() {
	// 	wx.getSystemInfo({
	// 		success: (res) => {
	// 			let ww = res.windowWidth;
	// 			let wh = res.windowHeight;
	// 			let imgWidth = ww * 0.48;
	// 			let scrollH = wh;
	// 			this.setData({
	// 				scrollH: scrollH,
	// 				imgWidth: imgWidth
	// 			});
	// 			//加载首组图片
	// 			// this.loadImages();
	// 		}
	// 	});
	// },
	// onImageLoad: function (e) {
	// 	let imageId = e.currentTarget.id;
	// 	let oImgW = e.detail.width; //图片原始宽度
	// 	let oImgH = e.detail.height; //图片原始高度
	// 	let imgWidth = this.data.imgWidth; //图片设置的宽度
	// 	let scale = imgWidth / oImgW; //比例计算
	// 	let imgHeight = oImgH * scale; //自适应高度
	// 	let images = this.data.images;
	// 	let imageObj = null;
	// 	for (let i = 0; i < images.length; i++) {
	// 		let img = images[i];
	// 		if (img.id === imageId) {
	// 			imageObj = img;
	// 			break;
	// 		}
	// 	}
	// 	imageObj.height = imgHeight;
	// 	let loadingCount = this.data.loadingCount - 1;
	// 	let col1 = this.data.col1;
	// 	let col2 = this.data.col2;
	// 	//判断当前图片添加到左列还是右列
	// 	if (col1.length <= col2.length) {
	// 		col1.push(imageObj);
	// 	} else {
	// 		col2.push(imageObj);
	// 	}
	// 	let data = {
	// 		loadingCount: loadingCount,
	// 		col1: col1,
	// 		col2: col2
	// 	};
	// 	//当前这组图片已加载完毕，则清空图片临时加载区域的内容
	// 	if (!loadingCount) {
	// 		data.images = [];
	// 	}
	// 	this.setData(data);
	// },
	loadImages(array) {
		for (let i = 0; i < array.length; i++) {
			// console.log(JSON.parse(array[i].images));
			var images = array[i].images
			// 判断是否为数组转换的字符串
			if (images.startsWith("[")) {
				// 是数组转换的字符串，进行处理
				var imagesArray = JSON.parse(images);
				var firstImageUrl = imagesArray[0].file;
				// console.log("第一种情况：数组转换的字符串");
			} else {
				// 是逗号隔开的图片地址，进行处理
				var imageUrls = images.split(",");
				console.log(imageUrls);
				var firstImageUrl = imageUrls[0];
			}
			array[i].imageurl = firstImageUrl
		}
		return array
	},
	getlistkind() {
		api
			.get(`/api/hxhealth/goods/kind`)
			.then((res) => {
				var all = {
					text: "全部商品",
					value: ""
				}
				console.log(res);
				res.unshift(all)
				this.setData({
					kindlist: res
				});
				this.setData({
					pageNum: 0,
					pageSize: 10,
				});
				this.getGoodsdesic();
			})
			.catch((error) => {
				wx.showToast({
					title: error.faultstring,
					icon: 'none',
					duration: 3000
				});
			});
	},
	onChangeshop(e) {
		this.setData({
			value: e.detail
		});
	},
	onSearch() {
		Toast('搜索' + this.data.value);
	},
	gotoShoppingCart() {
		wx.navigateTo({
			url: '/shop/pages/shoppingcart/index',
		})
	},
	onChange(event) {
		this.setData({
			goodlist: []
		})
		this.setData({
			pageNum: 0,
			pageSize: 10,
		});
		this.getGoodsdesic(this.data.kindlist[event.detail.index].text, this.data.kindlist[event.detail.index].value);
		this.setData({
			active: event.detail.index
		});
	},
	/**
	 * 获取首页banner
	 */
	async getBannerData() {
		// console.log('getBanner')
		try {
			const banner = await this.getBannerList();
			console.log(banner);
			this.setData({
				bannerList: banner
			});
		} catch (e) {
			console.error(e);
		}
	},
	async getBannerList() {
		try {
			const res = await api.post('/api/hxhealth/banner/list', {
				data: {
					name: '购物首页'
				}
			});
			return res;
		} catch (e) {
			console.log('getBannerList->', e);
			return null;
		}
	},
	getGoodsdesic(name, kindid) {
		// 商品列表查询
		const actions = {
			data: {
				kindid: kindid,
				// name: kindid?name:''
			},
			head: {
				firstresult: this.data.pageNum,
				maxresults: this.data.pageSize,
				bodytype: 'flat',
			}
		};
		try {
			api.post('/api/hxhealth/goods/list', actions).then((res) => {
				if (res.length == 0) { //请求的数据为空，没有数据
					if (this.data.pageNum == 0) { // 第一页都没有数据，直接显示暂无数据
						this.setData({
							goodlist:[],
							goodLeftList:[],
							goodRightList:[],
							noData: true,
						})
					} else { // 不为第一页时，请求的数据为空，说明没有更多数据了，把pageNum减一，是为了下次触底可以继续请求刷新，万一有了新数据也可以正常显示出来
						this.setData({
							noMor: true,
							pageNum: 0
						})
					}
				} else {  // 请求的结果有数据
					const dataList = this.loadImages([...this.data.goodlist, ...res])
					let leftList = []
					let rightList = []
					console.log(dataList, 'dataList')
					dataList.forEach((item, index) => {
						if (index % 2 === 0) {
							leftList.push(item)
						} else {
							rightList.push(item)
						}
					})
					if (res.length == this.data.pageSize) { // 请求的数据为10条，说明下一页可能还有数据，列表添加上新的数据，把其他状态设为不显示
						this.setData({
							goodlist: dataList,
							goodLeftList: leftList,
							goodRightList: rightList,
							noMor: false,
							noData: false
						})
					} else { // 请求的数据没有10条，说明下一页已经暂时没有数据了，列表添加上新的数据，底部显示暂无更多数据
						this.setData({
							goodlist: dataList,
							goodLeftList: leftList,
							goodRightList: rightList,
							noMor: true,
							noData: false
						})
					}
				}
				Toast.clear();
			});
		} catch (e) {
			console.error(e);
		}
	},
	handShoppingCart() {
		wx.navigateTo({
			url: '/shop/pages/shoppingcart/index'
		});
	},
	onDesicClick(e) {
		console.log(e.currentTarget.dataset.id);
		var id = e.currentTarget.dataset.id
		wx.navigateTo({
			url: `/shop/pages/detail/index?id=${id}`
		});
	},
	/**
	 * 生命周期函数--监听页面初次渲染完成
	 */
	onReady() { },

	/**
	 * 生命周期函数--监听页面显示
	 */
	onShow() { },

	/**
	 * 生命周期函数--监听页面隐藏
	 */
	onHide() { },

	/**
	 * 生命周期函数--监听页面卸载
	 */
	onUnload() { },

	/**
	 * 页面相关事件处理函数--监听用户下拉动作
	 */
	onPullDownRefresh() { },

	/**
	 * 页面上拉触底事件的处理函数
	 */
	onReachBottom() {
		if ((this.data.pageNum + 1) * this.data.pageSize == this.data.goodlist.length) {
			// 数据列表的数量刚好等于页数*每页条数，可以请求下一页
			this.setData({
				pageNum: this.data.pageNum + 1, // 一般上拉触底是为了加载更多分页数据，所以这里页数自增
			});
			// 查询列表方法
			this.getGoodsdesic();
		} else {
			// 数据列表的数量不等于页数*每页条数，说明当前页数据不足10条，已经没有更多数据了
			this.setData({
				noMor: true  // 这里在页面最底部显示一排文字，没有更多数据了
			})
		}
	},

	/**
	 * 用户点击右上角分享
	 */
	onShareAppMessage() { }
});